<?php
require_once("../Datos/Selector.php");
require_once("../Datos/SubConsulta.php");
require_once("../Datos/Selectores/Sel_Localidades.php");
require_once("../Datos/Tablas/Tbl_ec_usuarios.php");
require_once("../Datos/Tablas/Tbl_ec_pedidos.php");

class Sel_Ventas_Vendedor extends Selector{

	function Sel_Ventas_Vendedor(&$conexion){
		$this->Selector($conexion);

		$this->Nombre = "Ventas_Vendedor";
		$this->estTablaBase(new Tbl_ec_usuarios($conexion, ''));

        $relacionada = new SubConsulta(new Sel_Localidades($conexion), '');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');
		$this->agregarCampoJunta($this->tablaBase->obtCampo('u_localidad'), $this->obtCampoRelacionado('Localidades', 'Codigo'), '=');

  		$relacionada = new Tbl_ec_pedidos($conexion, '');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');
		$this->agregarCampoJunta($this->tablaBase->obtCampo('u_id'), $this->obtCampoRelacionado('ec_pedidos', 'ped_vendedor'), '=');
		
		$campo = $this->tablaBase->obtCampo('u_id');
		$campo->estAlias('Codigo');
		$campo->estEsGrupo(1);
		$this->agregarCampoVisible($campo);
		
		//Variables para la busqueda entre fechas
		$fechaDesde = $_POST['txtFecha1'];
		$fechaHasta = $_POST['txtFecha2'];
		
		$between = "";
		$tabla = $this->tablaBase;
		if($fechaDesde != "" && $fechaHasta != ""){
			$between = " AND ped_fecha BETWEEN '".$fechaDesde."' AND '".$fechaHasta."'";
		}
		
		$tabla = $this->tablaBase;
		$funcion = new Funcion('FechaDesde', '', $tabla);
		$funcion->agregarExpresion("'".$fechaDesde."'");
		$this->agregarCampoVisible($funcion);
		
		$tabla = $this->tablaBase;
		$funcion = new Funcion('FechaHasta', '', $tabla);
		$funcion->agregarExpresion("'".$fechaHasta."'");
		$this->agregarCampoVisible($funcion);
		
		$tabla = $this->tablaBase;
		$this->estCondicion("ped_fecha".$between);	
		
		$campo = $this->tablaBase->obtCampo('u_apellido');
		$campo->estAlias('Apellido');
		$this->agregarCampoVisible($campo);
		
		$campo = $this->tablaBase->obtCampo('u_nombre');
		$campo->estAlias('Nombre');
		$this->agregarCampoVisible($campo);
		
        $tabla = $this->obtTabla('Localidades');
		$funcion = new Funcion('Localidad', 'Concat', $tabla);
		$campo = $this->obtCampoRelacionado('Localidades', 'Localidad');
		$funcion->agregarCampo($campo);

		$funcion->agregarTexto(', ');

		$campo = $this->obtCampoRelacionado('Localidades', 'Provincia');
		$funcion->agregarCampo($campo);

		$this->agregarCampoVisible($funcion);
		
		$tabla = $this->obtTabla('ec_pedidos');
		$funcion = new Funcion('Monto $', '', $tabla);
		$funcion->agregarExpresion('SUM(ec_pedidos.ped_monto)');
		$this->agregarCampoVisible($funcion);
				
		$this->txtConsulta = $this->GenerarConsulta();
 }
}
?>
